package graphmanip;

import java.util.ArrayList;

import commonfunctions.Matrix;

/**
 * This class defines operations that collapse a graph, grouping nodes together. 
 * 
 * @author Trevor Terris
 *
 */
public abstract class CollapsingMethod 
{
	/**
	 * This method coarsens the graph. It takes the Matrix of weights, and returns a list of lists of 
	 * integers. If two integers are in the same list, then those nodes will be grouped together into
	 * the same node in the next version of the graph.
	 * 
	 * @param weights
	 * @return
	 */
	public abstract ArrayList<ArrayList<Integer>> collapse(Matrix weights);
}
